\relax 
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\citation{lilgp}
\citation{luke:genetic1998}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{7}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}About ECJ}{7}{section.1.1}}
\@writefile{toc}{\contentsline {paragraph}{Why ECJ was Made}{7}{section*.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces Top-Level Loop of ECJ's \textsf  {SimpleEvolutionState} class, used for basic generational EC algorithms. Various sub-operations are shown occurring before or after the primary operations. The full population is revised each iteration. \relax }}{8}{figure.caption.3}}
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
\newlabel{EvolutionState}{{1.1}{8}{Top-Level Loop of ECJ's \class {SimpleEvolutionState} class, used for basic generational EC algorithms. Various sub-operations are shown occurring before or after the primary operations. The full population is revised each iteration. \relax }{figure.caption.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Overview}{9}{section.1.2}}
\@writefile{toc}{\contentsline {paragraph}{Top-level Loop}{9}{section*.4}}
\@writefile{toc}{\contentsline {paragraph}{Parameterized Construction}{9}{section*.6}}
\@writefile{toc}{\contentsline {paragraph}{State Objects}{9}{section*.7}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces Top-Level operators and utility facilities in EvolutionState, and their relationship to certain state objects.\relax }}{10}{figure.caption.5}}
\newlabel{Operators}{{1.2}{10}{Top-Level operators and utility facilities in EvolutionState, and their relationship to certain state objects.\relax }{figure.caption.5}{}}
\@writefile{toc}{\contentsline {paragraph}{Breeding}{10}{section*.9}}
\@writefile{toc}{\contentsline {paragraph}{Evaluation}{10}{section*.10}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.3}{\ignorespaces Top-Level data objects used in evolution.\relax }}{11}{figure.caption.8}}
\newlabel{StateObjects}{{1.3}{11}{Top-Level data objects used in evolution.\relax }{figure.caption.8}{}}
\citation{mersennetwister}
\citation{Tisue04netlogo:a}
\citation{luke.cioffi-revilla.ea:mason}
\@writefile{lof}{\contentsline {figure}{\numberline {1.4}{\ignorespaces A typed genetic programming parse tree.\relax }}{12}{figure.caption.13}}
\newlabel{parsetree}{{1.4}{12}{A typed genetic programming parse tree.\relax }{figure.caption.13}{}}
\@writefile{toc}{\contentsline {paragraph}{Utilities}{12}{section*.11}}
\@writefile{toc}{\contentsline {paragraph}{Representations and Genetic Programming}{12}{section*.12}}
\citation{koza:gp2}
\citation{adm}
\citation{koza:book}
\@writefile{toc}{\contentsline {paragraph}{Out of the Box Capabilities}{13}{section*.14}}
\@writefile{toc}{\contentsline {paragraph}{Idiosyncracies}{14}{section*.15}}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Unpacking ECJ and Using the Tutorials}{15}{section.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}The \textsf  {ec} Directory, the CLASSPATH, and jar files}{15}{subsection.1.3.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1.1}The \textsf  {ec/display} Directory: ECJ's GUI}{15}{subsubsection.1.3.1.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1.2}The \textsf  {ec/app} Directory: Demo Applications}{15}{subsubsection.1.3.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}The \textsf  {docs} Directory}{16}{subsection.1.3.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.2.1}Tutorials}{16}{subsubsection.1.3.2.1}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}\textsf  {ec.Evolve} and Utility Classes}{17}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ec.Evolve}{{2}{17}{\class {ec.Evolve} and Utility Classes}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}The Parameter Database}{18}{section.2.1}}
\newlabel{parameterdatabase}{{2.1}{18}{The Parameter Database}{section.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Inheritance}{19}{subsection.2.1.1}}
\@writefile{toc}{\contentsline {paragraph}{Overriding the Parameter File}{20}{section*.16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Kinds of Parameters}{20}{subsection.2.1.2}}
\newlabel{kindsofparameters}{{2.1.2}{20}{Kinds of Parameters}{subsection.2.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Namespace Hierarchies and Parameter Bases}{22}{subsection.2.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Parameter Files in Jar Files}{24}{subsection.2.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.5}Accessing Parameters}{24}{subsection.2.1.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.6}Debugging Your Parameters}{26}{subsection.2.1.6}}
\newlabel{DebuggingYourParameters}{{2.1.6}{26}{Debugging Your Parameters}{subsection.2.1.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.7}Building a Parameter Database from Scratch}{28}{subsection.2.1.7}}
\newlabel{BuildingAParameterDatabaseFromScratch}{{2.1.7}{28}{Building a Parameter Database from Scratch}{subsection.2.1.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Output}{30}{section.2.2}}
\newlabel{ec.util.Output}{{2.2}{30}{Output}{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Creating and Writing to Logs}{30}{subsection.2.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Quieting the Program}{32}{subsection.2.2.2}}
\newlabel{quieting}{{2.2.2}{32}{Quieting the Program}{subsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}The \textsf  {ec.util.Code} Class}{32}{subsection.2.2.3}}
\newlabel{ec.util.Code}{{2.2.3}{32}{The \method {ec.util.Code} Class}{subsection.2.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3.1}Decoding the Hard Way}{33}{subsubsection.2.2.3.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3.2}Decoding the Easy Way}{34}{subsubsection.2.2.3.2}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Checkpointing}{35}{section.2.3}}
\newlabel{checkpointing}{{2.3}{35}{Checkpointing}{section.2.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Implementing Checkpointable Code}{37}{subsection.2.3.1}}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Threads and Random Number Generation}{38}{section.2.4}}
\newlabel{threads}{{2.4}{38}{Threads and Random Number Generation}{section.2.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Random Numbers}{38}{subsection.2.4.1}}
\@writefile{toc}{\contentsline {paragraph}{Any gotchas?}{40}{section*.17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Selecting Randomly from Distributions}{41}{subsection.2.4.2}}
\newlabel{ec.util.RandomChoice}{{2.4.2}{41}{Selecting Randomly from Distributions}{subsection.2.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Thread-Local Storage}{43}{subsection.2.4.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.4}Multithreading Support}{43}{subsection.2.4.4}}
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Jobs}{44}{section.2.5}}
\newlabel{jobs}{{2.5}{44}{Jobs}{section.2.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.6}The \textsf  {ec.Evolve} Top-level}{45}{section.2.6}}
\@writefile{toc}{\contentsline {section}{\numberline {2.7}Integrating ECJ with other Applications or Libraries}{47}{section.2.7}}
\newlabel{integration}{{2.7}{47}{Integrating ECJ with other Applications or Libraries}{section.2.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.7.1}Control by ECJ}{47}{subsection.2.7.1}}
\@writefile{toc}{\contentsline {paragraph}{Set up the library}{48}{section*.18}}
\@writefile{toc}{\contentsline {paragraph}{Prepare the simulation and evaluate an individual}{49}{section*.19}}
\@writefile{toc}{\contentsline {paragraph}{Optionally Delete the Simulation each Generation}{50}{section*.20}}
\@writefile{toc}{\contentsline {paragraph}{Clean up the Library}{50}{section*.21}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.7.2}Control by another Application or Library}{51}{subsection.2.7.2}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}\textsf  {ec.EvolutionState} and the ECJ Evolutionary Process}{53}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ec.EvolutionState}{{3}{53}{\class {ec.EvolutionState} and the ECJ Evolutionary Process}{chapter.3}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Top-Level operators and utility facilities in EvolutionState, and their relationship to certain state objects. A repeat of Figure \ref  {Operators}. Compare to Figure \ref  {SteadyState}.\relax }}{54}{figure.caption.22}}
\newlabel{Operators2}{{3.1}{54}{Top-Level operators and utility facilities in EvolutionState, and their relationship to certain state objects. A repeat of Figure \ref {Operators}. Compare to Figure \ref {SteadyState}.\relax }{figure.caption.22}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Common Patterns}{55}{section.3.1}}
\newlabel{patterns}{{3.1}{55}{Common Patterns}{section.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Setup}{55}{subsection.3.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Singletons and Cliques}{55}{subsection.3.1.2}}
\newlabel{clique}{{3.1.2}{55}{Singletons and Cliques}{subsection.3.1.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Prototypes}{55}{subsection.3.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}The Flyweight Pattern}{56}{subsection.3.1.4}}
\newlabel{flyweight}{{3.1.4}{56}{The Flyweight Pattern}{subsection.3.1.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Groups}{56}{subsection.3.1.5}}
\newlabel{ec.Group}{{3.1.5}{56}{Groups}{subsection.3.1.5}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Top-Level data objects used in evolution. A repeat of Figure \ref  {StateObjects}.\relax }}{57}{figure.caption.23}}
\newlabel{StateObjects2}{{3.2}{57}{Top-Level data objects used in evolution. A repeat of Figure \ref {StateObjects}.\relax }{figure.caption.23}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Populations, Subpopulations, Species, Individuals, and Fitnesses}{57}{section.3.2}}
\newlabel{populationsetc}{{3.2}{57}{Populations, Subpopulations, Species, Individuals, and Fitnesses}{section.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Making Large Numbers of Subpopulations}{59}{subsection.3.2.1}}
\newlabel{default-subpop}{{3.2.1}{59}{Making Large Numbers of Subpopulations}{subsection.3.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}How Species Make Individuals}{60}{subsection.3.2.2}}
\newlabel{ec.Species}{{3.2.2}{60}{How Species Make Individuals}{subsection.3.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Reading and Writing Populations and Subpopulations}{61}{subsection.3.2.3}}
\newlabel{ec.Population}{{3.2.3}{61}{Reading and Writing Populations and Subpopulations}{subsection.3.2.3}{}}
\newlabel{ec.Subpopulation}{{3.2.3}{61}{Reading and Writing Populations and Subpopulations}{subsection.3.2.3}{}}
\@writefile{toc}{\contentsline {paragraph}{In Subpopulation:}{61}{section*.24}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}About Individuals}{62}{subsection.3.2.4}}
\newlabel{ec.Individual}{{3.2.4}{62}{About Individuals}{subsection.3.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.4.1}Implementing an Individual}{63}{subsubsection.3.2.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}About Fitnesses}{65}{subsection.3.2.5}}
\newlabel{ec.Fitness}{{3.2.5}{65}{About Fitnesses}{subsection.3.2.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Initializers and Finishers}{67}{section.3.3}}
\newlabel{ec.Initializer}{{3.3}{67}{Initializers and Finishers}{section.3.3}{}}
\newlabel{ec.Finisher}{{3.3}{67}{Initializers and Finishers}{section.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Population Files and Subpopulation Files}{69}{subsection.3.3.1}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Evaluators and Problems}{69}{section.3.4}}
\newlabel{ec.Evaluator}{{3.4}{69}{Evaluators and Problems}{section.3.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}Problems}{71}{subsection.3.4.1}}
\newlabel{ec.Problem}{{3.4.1}{71}{Problems}{subsection.3.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Implementing a Problem}{71}{subsection.3.4.2}}
\newlabel{ImplementingAProblem}{{3.4.2}{71}{Implementing a Problem}{subsection.3.4.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}Breeders}{72}{section.3.5}}
\newlabel{breeders}{{3.5}{72}{Breeders}{section.3.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}Breeding Pipelines and BreedingSources}{74}{subsection.3.5.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Two example Breeding Pipelines.\relax }}{75}{figure.caption.25}}
\newlabel{BreedingPipelineDiagram}{{3.3}{75}{Two example Breeding Pipelines.\relax }{figure.caption.25}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}SelectionMethods}{76}{subsection.3.5.2}}
\newlabel{selectionmethods}{{3.5.2}{76}{SelectionMethods}{subsection.3.5.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.1}Implementing a Simple SelectionMethod}{77}{subsubsection.3.5.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.2}Standard Classes}{77}{subsubsection.3.5.2.2}}
\newlabel{ec.select}{{3.5.2.2}{77}{Standard Classes}{subsubsection.3.5.2.2}{}}
\newlabel{ec.select.BestSelection}{{3.5.2.2}{79}{Standard Classes}{subsubsection.3.5.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.3}BreedingPipelines}{80}{subsection.3.5.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.1}Implementing a Simple BreedingPipeline}{81}{subsubsection.3.5.3.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.2}Standard Utility Pipelines}{83}{subsubsection.3.5.3.2}}
\newlabel{standardbreedingpipelines}{{3.5.3.2}{83}{Standard Utility Pipelines}{subsubsection.3.5.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.4}Setting up a Pipeline}{85}{subsection.3.5.4}}
\newlabel{SettingUpAPipeline}{{3.5.4}{85}{Setting up a Pipeline}{subsection.3.5.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4.1}A Genetic Algorithm Pipeline}{85}{subsubsection.3.5.4.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces Two example Breeding Pipelines (Repeat of Figure \ref  {BreedingPipelineDiagram}).\relax }}{86}{figure.caption.26}}
\newlabel{BreedingPipelineDiagram2}{{3.4}{86}{Two example Breeding Pipelines (Repeat of Figure \ref {BreedingPipelineDiagram}).\relax }{figure.caption.26}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4.2}A Genetic Programming Pipeline}{87}{subsubsection.3.5.4.2}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Exchangers}{88}{section.3.6}}
\newlabel{ec.Exchanger}{{3.6}{88}{Exchangers}{section.3.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.7}Statistics}{88}{section.3.7}}
\newlabel{ec.Statistics}{{3.7}{88}{Statistics}{section.3.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.1}Creating a Statistics Chain}{91}{subsection.3.7.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.2}Tabular Statistics}{91}{subsection.3.7.2}}
\newlabel{ec.simple.SimpleShortStatistics}{{3.7.2}{91}{Tabular Statistics}{subsection.3.7.2}{}}
\@writefile{toc}{\contentsline {paragraph}{Restricting Rows with a Modulus}{93}{section*.27}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.3}Quieting the Statistics}{94}{subsection.3.7.3}}
\newlabel{quietingstatistics}{{3.7.3}{94}{Quieting the Statistics}{subsection.3.7.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.4}Implementing a Statistics Object}{94}{subsection.3.7.4}}
\@writefile{toc}{\contentsline {section}{\numberline {3.8}Debugging an Evolutionary Process}{96}{section.3.8}}
\newlabel{DebuggingAnEvolutionaryProcess}{{3.8}{96}{Debugging an Evolutionary Process}{section.3.8}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Basic Evolutionary Processes}{101}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Generational Evolution}{101}{section.4.1}}
\newlabel{generational}{{4.1}{101}{Generational Evolution}{section.4.1}{}}
\@writefile{toc}{\contentsline {paragraph}{Generations and Evaluations}{101}{section*.29}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Top-Level Loop of ECJ's \textsf  {SimpleEvolutionState} class, used for basic generational EC algorithms. Various sub-operations are shown occurring before or after the primary operations. The full population is revised each iteration. A repeat of Figure \ref  {EvolutionState}.\relax }}{102}{figure.caption.28}}
\newlabel{EvolutionState2}{{4.1}{102}{Top-Level Loop of ECJ's \class {SimpleEvolutionState} class, used for basic generational EC algorithms. Various sub-operations are shown occurring before or after the primary operations. The full population is revised each iteration. A repeat of Figure \ref {EvolutionState}.\relax }{figure.caption.28}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}The Genetic Algorithm (The \textsf  {ec.simple} Package)}{103}{subsection.4.1.1}}
\newlabel{ec.simple}{{4.1.1}{103}{The Genetic Algorithm (The \package {ec.simple} Package)}{subsection.4.1.1}{}}
\@writefile{toc}{\contentsline {paragraph}{An Example}{103}{section*.30}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Evolution Strategies (The \textsf  {ec.es} Package)}{105}{subsection.4.1.2}}
\newlabel{ec.es}{{4.1.2}{105}{Evolution Strategies (The \package {ec.es} Package)}{subsection.4.1.2}{}}
\@writefile{toc}{\contentsline {paragraph}{\relax $\bm  {(\mu , \lambda )}\relax \GenericError  {               }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type  I <command> <return>  to replace it with another command,\MessageBreak or  <return>  to continue without it.}}{106}{section*.31}}
\@writefile{toc}{\contentsline {paragraph}{\relax $\bm  {(\mu + \lambda )}\relax \GenericError  {               }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type  I <command> <return>  to replace it with another command,\MessageBreak or  <return>  to continue without it.}}{106}{section*.32}}
\@writefile{toc}{\contentsline {paragraph}{Example}{106}{section*.33}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Steady-State Evolution (The \textsf  {ec.steadystate} Package)}{107}{section.4.2}}
\newlabel{ec.steadystate}{{4.2}{107}{Steady-State Evolution (The \package {ec.steadystate} Package)}{section.4.2}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Top-Level Loop of ECJ's \textsf  {SteadyStateEvolutionState} class, used for simple steady-state EC and Asynchronous Evolution algorithms. {\it  ``First?''} means to perform the Statistics whenever the Subpopulation in question is picking an Individual to displace for the very first time. (Each Subpopulation will do it once, but possibly at different times).\relax }}{108}{figure.caption.34}}
\newlabel{SteadyState}{{4.2}{108}{Top-Level Loop of ECJ's \class {SteadyStateEvolutionState} class, used for simple steady-state EC and Asynchronous Evolution algorithms. {\it ``First?''} means to perform the Statistics whenever the Subpopulation in question is picking an Individual to displace for the very first time. (Each Subpopulation will do it once, but possibly at different times).\relax }{figure.caption.34}{}}
\@writefile{toc}{\contentsline {paragraph}{Example}{111}{section*.35}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Steady State Statistics}{112}{subsection.4.2.1}}
\newlabel{ec.steadystate.SteadyStateStatisticsForm}{{4.2.1}{112}{Steady State Statistics}{subsection.4.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Producing More than One Individual at a Time}{112}{subsection.4.2.2}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Representations}{115}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Vector and List Representations (The \textsf  {ec.vector} Package)}{115}{section.5.1}}
\newlabel{ec.vector}{{5.1}{115}{Vector and List Representations (The \package {ec.vector} Package)}{section.5.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Vectors}{116}{subsection.5.1.1}}
\newlabel{vectors}{{5.1.1}{116}{Vectors}{subsection.5.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1.1}Initialization}{117}{subsubsection.5.1.1.1}}
\newlabel{vectorinitialization}{{5.1.1.1}{117}{Initialization}{subsubsection.5.1.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1.2}Crossover}{118}{subsubsection.5.1.1.2}}
\@writefile{toc}{\contentsline {paragraph}{Customizing Crossover}{120}{section*.36}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1.3}Multi-Vector Crossover}{121}{subsubsection.5.1.1.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1.4}Mutation}{121}{subsubsection.5.1.1.4}}
\@writefile{toc}{\contentsline {paragraph}{Kinds of Mutations}{122}{section*.37}}
\@writefile{toc}{\contentsline {paragraph}{Bit-Flip Mutation}{122}{section*.38}}
\@writefile{toc}{\contentsline {paragraph}{Uniform Mutation}{122}{section*.39}}
\@writefile{toc}{\contentsline {paragraph}{Mixtures}{123}{section*.40}}
\@writefile{toc}{\contentsline {paragraph}{Uniform Mutation}{123}{section*.41}}
\@writefile{toc}{\contentsline {paragraph}{Random Walk Mutation}{123}{section*.42}}
\@writefile{toc}{\contentsline {paragraph}{Mixtures}{123}{section*.43}}
\@writefile{toc}{\contentsline {paragraph}{Uniform Mutation}{124}{section*.44}}
\@writefile{toc}{\contentsline {paragraph}{Gaussian Mutation}{124}{section*.45}}
\@writefile{toc}{\contentsline {paragraph}{Polynomial Mutation}{124}{section*.46}}
\@writefile{toc}{\contentsline {paragraph}{Mixtures}{125}{section*.47}}
\@writefile{toc}{\contentsline {paragraph}{Example}{126}{section*.48}}
\@writefile{toc}{\contentsline {paragraph}{Another Example}{127}{section*.49}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1.5}Heterogeneous Vector Individuals}{127}{subsubsection.5.1.1.5}}
\newlabel{heterogeneous}{{5.1.1.5}{127}{Heterogeneous Vector Individuals}{subsubsection.5.1.1.5}{}}
\@writefile{toc}{\contentsline {paragraph}{What You Can Do}{128}{section*.50}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Lists}{129}{subsection.5.1.2}}
\newlabel{list}{{5.1.2}{129}{Lists}{subsection.5.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2.1}Utility Methods}{129}{subsubsection.5.1.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2.2}Initialization}{130}{subsubsection.5.1.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2.3}Crossover}{130}{subsubsection.5.1.2.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2.4}Mutation}{131}{subsubsection.5.1.2.4}}
\@writefile{toc}{\contentsline {paragraph}{Example}{131}{section*.51}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Arbitrary Genes: \textsf  {ec.vector.Gene}}{132}{subsection.5.1.3}}
\newlabel{ec.vector.Gene}{{5.1.3}{132}{Arbitrary Genes: \class {ec.vector.Gene}}{subsection.5.1.3}{}}
\@writefile{toc}{\contentsline {paragraph}{Example}{133}{section*.52}}
\citation{koza:book}
\citation{koza:gp2}
\citation{poli08:fieldguide}
\citation{lilgp}
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Genetic Programming (The \textsf  {ec.gp} Package)}{134}{section.5.2}}
\newlabel{ec.gp}{{5.2}{134}{Genetic Programming (The \package {ec.gp} Package)}{section.5.2}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Data objects common to tree-based ``Koza-style'' genetic programming Individuals.\relax }}{135}{figure.caption.53}}
\newlabel{GP}{{5.1}{135}{Data objects common to tree-based ``Koza-style'' genetic programming Individuals.\relax }{figure.caption.53}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Two example genetic programming parse trees. At top is a single \textsf  {ec.gp.GPTree} instance, which holds onto a single \textsf  {ec.gp.GPNode} designated the {\it  root} of the tree. GPNodes form the tree itself, and so have a {\it  parent} and zero or more {\it  children}. The parent of the root is the GPTree object itself. Leaf nodes, denoted with dotted ovals, are traditionally called {\it  terminals}, and non-leaf nodes, including the root, are traditionally called {\it  nonterminals}. Normally GPNodes have fixed arity. That is, all \textsf  {if-food-ahead} GPNodes will always have two children, and all \textsf  {cos} nodes will always have one child, etc.\relax }}{136}{figure.caption.54}}
\newlabel{gptrees}{{5.2}{136}{Two example genetic programming parse trees. At top is a single \class {ec.gp.GPTree} instance, which holds onto a single \class {ec.gp.GPNode} designated the {\it root} of the tree. GPNodes form the tree itself, and so have a {\it parent} and zero or more {\it children}. The parent of the root is the GPTree object itself. Leaf nodes, denoted with dotted ovals, are traditionally called {\it terminals}, and non-leaf nodes, including the root, are traditionally called {\it nonterminals}. Normally GPNodes have fixed arity. That is, all \class {if-food-ahead} GPNodes will always have two children, and all \class {cos} nodes will always have one child, etc.\relax }{figure.caption.54}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}GPNodes, GPTrees, and GPIndividuals}{136}{subsection.5.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.1}GPNodes}{137}{subsubsection.5.2.1.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.2}GPTrees}{137}{subsubsection.5.2.1.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.3}GPIndividual}{138}{subsubsection.5.2.1.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.4}GPNodeConstraints}{138}{subsubsection.5.2.1.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.5}GPTreeConstraints}{138}{subsubsection.5.2.1.5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.6}GPFunctionSet}{138}{subsubsection.5.2.1.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Basic Setup}{139}{subsection.5.2.2}}
\newlabel{basicsetup}{{5.2.2}{139}{Basic Setup}{subsection.5.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2.1}Defining GPNodes}{140}{subsubsection.5.2.2.1}}
\newlabel{defininggpnodes}{{5.2.2.1}{140}{Defining GPNodes}{subsubsection.5.2.2.1}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces A simple GP tree representing the mathematical expression \relax $\qopname  \relax o{sin}(x-y)\relax \GenericError  {               }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type  I <command> <return>  to replace it with another command,\MessageBreak or  <return>  to continue without it.}.\relax }}{141}{figure.caption.55}}
\newlabel{simplegptree}{{5.3}{141}{A simple GP tree representing the mathematical expression \(\sin (x-y)\).\relax }{figure.caption.55}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Defining the Representation, Problem, and Statistics}{141}{subsection.5.2.3}}
\newlabel{definingtherepresentation}{{5.2.3}{141}{Defining the Representation, Problem, and Statistics}{subsection.5.2.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3.1}GPData}{142}{subsubsection.5.2.3.1}}
\newlabel{ec.gp.GPData}{{5.2.3.1}{142}{GPData}{subsubsection.5.2.3.1}{}}
\citation{koza:book}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3.2}KozaFitness}{143}{subsubsection.5.2.3.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3.3}GPProblem}{144}{subsubsection.5.2.3.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3.4}GPNode Subclasses}{145}{subsubsection.5.2.3.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3.5}Statistics}{147}{subsubsection.5.2.3.5}}
\newlabel{ec.Statistics}{{5.2.3.5}{147}{Statistics}{subsubsection.5.2.3.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}Initialization}{148}{subsection.5.2.4}}
\citation{Luke1:2001:GECCO}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}Breeding}{152}{subsection.5.2.5}}
\newlabel{gpbreeding}{{5.2.5}{152}{Breeding}{subsection.5.2.5}{}}
\citation{chellapilla:1998:piempwsx}
\citation{OReilly:thesis}
\citation{chellapilla:1998:piempwsx}
\citation{OReilly:thesis}
\citation{chellapilla:1998:piempwsx}
\citation{chellapilla:1998:piempwsx}
\citation{chellapilla:1998:piempwsx}
\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Rehanging a tree. A new root is chosen at random from among the nonterminals except for the original root. Then a subtree of that new root is chosen at random and disconnected. The tree is then rehung as shown: the parent of the new root becomes its child; the grandparent becomes the parent's child, and so on up to the root. The disconnected subtree then fills the remaining spot.\relax }}{157}{figure.caption.56}}
\newlabel{rehang}{{5.4}{157}{Rehanging a tree. A new root is chosen at random from among the nonterminals except for the original root. Then a subtree of that new root is chosen at random and disconnected. The tree is then rehung as shown: the parent of the new root becomes its child; the grandparent becomes the parent's child, and so on up to the root. The disconnected subtree then fills the remaining spot.\relax }{figure.caption.56}{}}
\citation{langdon:1999:fairxo}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.6}A Complete Example}{159}{subsection.5.2.6}}
\newlabel{gpexample}{{5.2.6}{159}{A Complete Example}{subsection.5.2.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.7}GPNodes in Depth}{162}{subsection.5.2.7}}
\@writefile{toc}{\contentsline {paragraph}{Sanity Checking}{162}{section*.57}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.8}GPTrees and GPIndividuals in Depth}{166}{subsection.5.2.8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.8.1}Pretty-Printing Trees}{167}{subsubsection.5.2.8.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Auto-generated trees: in ``.dot'' format (left) and in \LaTeX  {} format (right)\relax }}{169}{figure.caption.58}}
\newlabel{printedtrees}{{5.5}{169}{Auto-generated trees: in ``.dot'' format (left) and in \LaTeX {} format (right)\relax }{figure.caption.58}{}}
\citation{koza:book}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.8.2}GPIndividuals}{170}{subsubsection.5.2.8.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.9}Ephemeral Random Constants}{170}{subsection.5.2.9}}
\newlabel{ec.gp.ERC}{{5.2.9}{170}{Ephemeral Random Constants}{subsection.5.2.9}{}}
\@writefile{toc}{\contentsline {paragraph}{Example}{172}{section*.59}}
\citation{koza:gp2}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.10}Automatically Defined Functions and Macros}{173}{subsection.5.2.10}}
\newlabel{ec.gp.ADF}{{5.2.10}{173}{Automatically Defined Functions and Macros}{subsection.5.2.10}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces A GPIndividual with two no-argument (terminal) ADFs. The primary GP Tree has functions in its function set that can call the other two trees; in turn the ADF 1 tree has a function in its function set that can call the ADF 2 tree. The return values of the various ADF trees become the return values of their respective calling functions. \relax }}{174}{figure.caption.60}}
\newlabel{adf1}{{5.6}{174}{A GPIndividual with two no-argument (terminal) ADFs. The primary GP Tree has functions in its function set that can call the other two trees; in turn the ADF 1 tree has a function in its function set that can call the ADF 2 tree. The return values of the various ADF trees become the return values of their respective calling functions. \relax }{figure.caption.60}{}}
\citation{adm}
\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces A GPIndividual with one 2-argument ADF. The primary GP Tree has a function in its function set that can call the ADF tree. This function first evaluates its children, then executes the ADF tree. In the ADF tree there are two terminal functions (ARG 1 and ARG 2) which, when evaluated, return the values of the two children respectively. The return value of the ADF tree becomes the return value of the ADF function.\relax }}{175}{figure.caption.61}}
\newlabel{adf2}{{5.7}{175}{A GPIndividual with one 2-argument ADF. The primary GP Tree has a function in its function set that can call the ADF tree. This function first evaluates its children, then executes the ADF tree. In the ADF tree there are two terminal functions (ARG 1 and ARG 2) which, when evaluated, return the values of the two children respectively. The return value of the ADF tree becomes the return value of the ADF function.\relax }{figure.caption.61}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces A GPIndividual with one 2-argument ADM. The primary GP Tree has a function in its function set that can call the ADM tree. This function delays the evaluation of its its children, and immediately executes the ADM tree. In the ADM tree there are two terminal functions (ARG 1 and ARG 2) which, when evaluated, evaluate (or, as necessary, re-evaluate) the original children to the ADM function and then return their values. Notice that in this example child \# 1 may be evaluated {\it  twice}, and child \#2, depending on whether there's food ahead, may be {\it  never evaluated}.\relax }}{176}{figure.caption.62}}
\newlabel{adm}{{5.8}{176}{A GPIndividual with one 2-argument ADM. The primary GP Tree has a function in its function set that can call the ADM tree. This function delays the evaluation of its its children, and immediately executes the ADM tree. In the ADM tree there are two terminal functions (ARG 1 and ARG 2) which, when evaluated, evaluate (or, as necessary, re-evaluate) the original children to the ADM function and then return their values. Notice that in this example child \# 1 may be evaluated {\it twice}, and child \#2, depending on whether there's food ahead, may be {\it never evaluated}.\relax }{figure.caption.62}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.10.1}About ADF Stacks}{176}{subsubsection.5.2.10.1}}
\@writefile{toc}{\contentsline {paragraph}{Example}{177}{section*.63}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.11}Strongly Typed Genetic Programming}{179}{subsection.5.2.11}}
\newlabel{stronglytyped}{{5.2.11}{179}{Strongly Typed Genetic Programming}{subsection.5.2.11}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces A typed genetic programming parse tree. Each edge is labeled with two types. The ``lower'' type is the return type of the child node. The ``upper'' type is the type of the argument slot of the parent. For the child to fit into that particular argument slot, the types must be compatible. Types of the form ``int, float'' are set types. All others are atomic types. Note that the root of the tree plugs into a particular slot of the ``tree'' object (\textsf  {ec.gp.GPTree}) , which itself has a slot type. A repeat of Figure \ref  {parsetree}.\relax }}{180}{figure.caption.64}}
\newlabel{parsetree2}{{5.9}{180}{A typed genetic programming parse tree. Each edge is labeled with two types. The ``lower'' type is the return type of the child node. The ``upper'' type is the type of the argument slot of the parent. For the child to fit into that particular argument slot, the types must be compatible. Types of the form ``int, float'' are set types. All others are atomic types. Note that the root of the tree plugs into a particular slot of the ``tree'' object (\class {ec.gp.GPTree}) , which itself has a slot type. A repeat of Figure \ref {parsetree}.\relax }{figure.caption.64}{}}
\@writefile{toc}{\contentsline {paragraph}{Example}{181}{section*.65}}
\@writefile{toc}{\contentsline {paragraph}{Mixing ADF and ADMs and Typed GP}{184}{section*.66}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.11.1}Inside GPTypes}{184}{subsubsection.5.2.11.1}}
\citation{koza:book}
\citation{Luke:2006:EC}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.12}Parsimony Pressure (The \textsf  {ec.parsimony} Package)}{185}{subsection.5.2.12}}
\newlabel{ec.parsimony}{{5.2.12}{185}{Parsimony Pressure (The \package {ec.parsimony} Package)}{subsection.5.2.12}{}}
\citation{poli03simple}
\citation{grammaticalevolution}
\@writefile{toc}{\contentsline {section}{\numberline {5.3}Grammatical Evolution (The \textsf  {ec.gp.ge} Package)}{187}{section.5.3}}
\newlabel{ec.gp.ge}{{5.3}{187}{Grammatical Evolution (The \package {ec.gp.ge} Package)}{section.5.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}GEIndividuals, GESpecies, and Grammars}{188}{subsection.5.3.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1.1}Strong Typing}{189}{subsubsection.5.3.1.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1.2}ADFs and ERCs}{190}{subsubsection.5.3.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Translation and Evaluation}{190}{subsection.5.3.2}}
\@writefile{toc}{\contentsline {paragraph}{Handling ERCs}{192}{section*.67}}
\@writefile{toc}{\contentsline {paragraph}{Handling ADFs and Multiple Trees}{192}{section*.68}}
\@writefile{toc}{\contentsline {paragraph}{Grammatical Evolution Does Not Support GroupedProblemForm}{192}{section*.69}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}Printing}{192}{subsection.5.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}Initialization and Breeding}{193}{subsection.5.3.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.5}Dealing with GP}{194}{subsection.5.3.5}}
\@writefile{toc}{\contentsline {paragraph}{One Last Note}{194}{section*.70}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.6}A Complete Example}{194}{subsection.5.3.6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.6.1}Grammar Files}{196}{subsubsection.5.3.6.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.7}How Parsing is Done}{196}{subsection.5.3.7}}
\citation{push}
\citation{push3}
\@writefile{lof}{\contentsline {figure}{\numberline {5.10}{\ignorespaces Parse graph (orderings among children not shown). The entry point is {\tt  \relax $<\relax \GenericError  {               }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type  I <command> <return>  to replace it with another command,\MessageBreak or  <return>  to continue without it.}start\relax $>\relax \GenericError  {               }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type  I <command> <return>  to replace it with another command,\MessageBreak or  <return>  to continue without it.}}. GrammarRuleNodes are shown with angle brackets. GrammarFunctionNodes are shown without brackets.\relax }}{197}{figure.caption.71}}
\newlabel{geparsegraph}{{5.10}{197}{Parse graph (orderings among children not shown). The entry point is {\tt \(<\)start\(>\)}. GrammarRuleNodes are shown with angle brackets. GrammarFunctionNodes are shown without brackets.\relax }{figure.caption.71}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.4}Push (The \textsf  {ec.gp.push} Package)}{197}{section.5.4}}
\@writefile{toc}{\contentsline {paragraph}{Evaluation}{198}{section*.72}}
\@writefile{toc}{\contentsline {paragraph}{Some Caveats}{198}{section*.73}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}Push and GP}{199}{subsection.5.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}Defining the Push Instruction Set}{200}{subsection.5.4.2}}
\newlabel{PushInstruction}{{5.4.2}{200}{Defining the Push Instruction Set}{subsection.5.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}Creating a Push Problem}{201}{subsection.5.4.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}Building a Custom Instruction}{202}{subsection.5.4.4}}
\@writefile{toc}{\contentsline {section}{\numberline {5.5}Rulesets and Collections (The \textsf  {ec.rule} Package)}{203}{section.5.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.1}RuleIndividuals and RuleSpecies}{204}{subsection.5.5.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.2}RuleSets and RuleSetConstraints}{204}{subsection.5.5.2}}
\newlabel{ec.rule.RuleSet}{{5.5.2}{204}{RuleSets and RuleSetConstraints}{subsection.5.5.2}{}}
\newlabel{ec.rule.RuleSetConstraints}{{5.5.2}{204}{RuleSets and RuleSetConstraints}{subsection.5.5.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.3}Rules and RuleConstraints}{207}{subsection.5.5.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.4}Initialization}{209}{subsection.5.5.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.5}Mutation}{209}{subsection.5.5.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.6}Crossover}{211}{subsection.5.5.6}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Parallel Processes}{213}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Distributed Evaluation (The \textsf  {ec.eval} Package)}{213}{section.6.1}}
\newlabel{ec.eval}{{6.1}{213}{Distributed Evaluation (The \package {ec.eval} Package)}{section.6.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}The Master}{213}{subsection.6.1.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Layout of the Distributed Evaluation package.\relax }}{214}{figure.caption.74}}
\newlabel{DistributedEvaluation}{{6.1}{214}{Layout of the Distributed Evaluation package.\relax }{figure.caption.74}{}}
\@writefile{toc}{\contentsline {paragraph}{Warning!}{215}{section*.75}}
\@writefile{toc}{\contentsline {paragraph}{Keep Your Master Single-Threaded}{215}{section*.76}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Slaves}{215}{subsection.6.1.2}}
\citation{opportunistic}
\citation{opportunistic}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Opportunistic Evolution}{217}{subsection.6.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Asynchronous Evolution}{217}{subsection.6.1.4}}
\newlabel{asynchronous}{{6.1.4}{217}{Asynchronous Evolution}{subsection.6.1.4}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces Top-Level Loop of ECJ's \textsf  {SteadyStateEvolutionState} class, used for simple steady-state EC and Asynchronous Evolution algorithms. {\it  ``First?''} means to perform the Statistics whenever the Subpopulation in question is picking an Individual to displace for the very first time. (Each Subpopulation will do it once, but possibly at different times). A repeat of Figure \ref  {SteadyState}.\relax }}{218}{figure.caption.77}}
\newlabel{AsynchronousEvolution}{{6.2}{218}{Top-Level Loop of ECJ's \class {SteadyStateEvolutionState} class, used for simple steady-state EC and Asynchronous Evolution algorithms. {\it ``First?''} means to perform the Statistics whenever the Subpopulation in question is picking an Individual to displace for the very first time. (Each Subpopulation will do it once, but possibly at different times). A repeat of Figure \ref {SteadyState}.\relax }{figure.caption.77}{}}
\@writefile{toc}{\contentsline {paragraph}{Rescheduling Lost Jobs}{219}{section*.78}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.5}The MasterProblem}{219}{subsection.6.1.5}}
\newlabel{ec.eval.MasterProblem}{{6.1.5}{219}{The MasterProblem}{subsection.6.1.5}{}}
\@writefile{toc}{\contentsline {paragraph}{Checkpointing and Synchronization}{219}{section*.79}}
\@writefile{toc}{\contentsline {paragraph}{Asynchronous Evolution}{220}{section*.80}}
\@writefile{toc}{\contentsline {paragraph}{Batching up Jobs}{220}{section*.81}}
\@writefile{toc}{\contentsline {paragraph}{Sending Initialization Data from the Master to the Slaves}{221}{section*.82}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.6}Noisy Distributed Problems}{222}{subsection.6.1.6}}
\newlabel{noisydistributedproblems}{{6.1.6}{222}{Noisy Distributed Problems}{subsection.6.1.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Island Models (The \textsf  {ec.exchange} Package)}{223}{section.6.2}}
\newlabel{ec.exchange}{{6.2}{223}{Island Models (The \package {ec.exchange} Package)}{section.6.2}{}}
\@writefile{toc}{\contentsline {paragraph}{Mixing Island Models, Threading, and Distributed Evaluation}{223}{section*.83}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Islands}{223}{subsection.6.2.1}}
\newlabel{islands}{{6.2.1}{223}{Islands}{subsection.6.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}The Server}{225}{subsection.6.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.1}Synchronicity}{226}{subsubsection.6.2.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Internal Island Models}{226}{subsection.6.2.3}}
\newlabel{ec.exchange.InterPopulationExchange}{{6.2.3}{226}{Internal Island Models}{subsection.6.2.3}{}}
\@writefile{toc}{\contentsline {paragraph}{Reminder}{228}{section*.84}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}The Exchanger}{228}{subsection.6.2.4}}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Additional Evolutionary Algorithms}{231}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}Coevolution (The \textsf  {ec.coevolve} Package)}{231}{section.7.1}}
\newlabel{ec.coevolve}{{7.1}{231}{Coevolution (The \package {ec.coevolve} Package)}{section.7.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Coevolutionary Fitness}{231}{subsection.7.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Grouped Problems}{232}{subsection.7.1.2}}
\newlabel{ec.coevolve.GroupedProblemForm}{{7.1.2}{232}{Grouped Problems}{subsection.7.1.2}{}}
\@writefile{toc}{\contentsline {paragraph}{Example}{233}{section*.85}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}One-Population Competitive Coevolution}{234}{subsection.7.1.3}}
\citation{Panait02acomparison}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.4}Multi-Population Coevolution}{236}{subsection.7.1.4}}
\newlabel{ec.coevolve.MultiPopCoevolutionaryEvaluator}{{7.1.4}{236}{Multi-Population Coevolution}{subsection.7.1.4}{}}
\citation{Luke2009Metaheuristics}
\@writefile{toc}{\contentsline {paragraph}{Reminder}{238}{section*.86}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.4.1}Parallel and Sequential Coevolution}{238}{subsubsection.7.1.4.1}}
\newlabel{parallelandsequentialcoevolution}{{7.1.4.1}{238}{Parallel and Sequential Coevolution}{subsubsection.7.1.4.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.4.2}Maintaining Context}{239}{subsubsection.7.1.4.2}}
\newlabel{maintainingcontext}{{7.1.4.2}{239}{Maintaining Context}{subsubsection.7.1.4.2}{}}
\@writefile{toc}{\contentsline {paragraph}{Warning}{240}{section*.87}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.5}Performing Distributed Evaluation with Coevolution}{240}{subsection.7.1.5}}
\newlabel{performingdistributedevaluationwithcoevolution}{{7.1.5}{240}{Performing Distributed Evaluation with Coevolution}{subsection.7.1.5}{}}
\@writefile{toc}{\contentsline {paragraph}{The crucial item.}{240}{section*.88}}
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Spatially Embedded Evolutionary Algorithms (The \textsf  {ec.spatial} Package)}{241}{section.7.2}}
\newlabel{ec.spatial}{{7.2}{241}{Spatially Embedded Evolutionary Algorithms (The \package {ec.spatial} Package)}{section.7.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Implementing a Space}{242}{subsection.7.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}Spatial Breeding}{243}{subsection.7.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}Coevolutionary Spatial Evaluation}{244}{subsection.7.2.3}}
\@writefile{toc}{\contentsline {section}{\numberline {7.3}Particle Swarm Optimization (The \textsf  {ec.pso} Package)}{245}{section.7.3}}
\newlabel{ec.pso}{{7.3}{245}{Particle Swarm Optimization (The \package {ec.pso} Package)}{section.7.3}{}}
\@writefile{toc}{\contentsline {paragraph}{Reading and Writing}{246}{section*.89}}
\@writefile{toc}{\contentsline {paragraph}{Updating}{246}{section*.90}}
\@writefile{toc}{\contentsline {section}{\numberline {7.4}Differential Evolution (The \textsf  {ec.de} Package)}{249}{section.7.4}}
\newlabel{ec.de}{{7.4}{249}{Differential Evolution (The \package {ec.de} Package)}{section.7.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.1}Evaluation}{249}{subsection.7.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.2}Breeding}{249}{subsection.7.4.2}}
\citation{differentialevolution}
\citation{differentialevolution}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.2.1}The DE/rand/1/bin Operator}{251}{subsubsection.7.4.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.2.2}The DE/best/1/bin Operator}{251}{subsubsection.7.4.2.2}}
\citation{differentialevolution}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.2.3}The DE/rand/1/either-or Operator}{252}{subsubsection.7.4.2.3}}
\@writefile{toc}{\contentsline {section}{\numberline {7.5}Multiobjective Optimization (The \textsf  {ec.multiobjective} Package)}{253}{section.7.5}}
\newlabel{ec.multiobjective}{{7.5}{253}{Multiobjective Optimization (The \package {ec.multiobjective} Package)}{section.7.5}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.5.0.4}The MultiObjectiveFitness class}{253}{subsubsection.7.5.0.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.5.0.5}The MultiObjectiveStatistics class}{255}{subsubsection.7.5.0.5}}
\newlabel{ec.multi.MultiObjectiveStatistics}{{7.5.0.5}{255}{The MultiObjectiveStatistics class}{subsubsection.7.5.0.5}{}}
\citation{nsga}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Selecting with Multiple Objectives}{256}{subsection.7.5.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.5.1.1}Pareto Ranking}{256}{subsubsection.7.5.1.1}}
\citation{nsga2}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.5.1.2}Archives}{257}{subsubsection.7.5.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.2}NSGA-II (The \textsf  {ec.multiobjective.nsga2} Package)}{257}{subsection.7.5.2}}
\newlabel{ec.multiobjective.nsga2}{{7.5.2}{257}{NSGA-II (The \package {ec.multiobjective.nsga2} Package)}{subsection.7.5.2}{}}
\citation{spea2}
\@writefile{toc}{\contentsline {paragraph}{Where to get examples}{258}{section*.91}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.3}SPEA2 (The \textsf  {ec.multiobjective.spea2} Package)}{258}{subsection.7.5.3}}
\newlabel{ec.multiobjective.spea2}{{7.5.3}{258}{SPEA2 (The \package {ec.multiobjective.spea2} Package)}{subsection.7.5.3}{}}
\@writefile{toc}{\contentsline {paragraph}{Where to get examples}{259}{section*.92}}
\@writefile{toc}{\contentsline {section}{\numberline {7.6}Meta-Evolutionary Algorithms}{259}{section.7.6}}
\newlabel{metaea}{{7.6}{259}{Meta-Evolutionary Algorithms}{section.7.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}The Two Parameter Files}{259}{subsection.7.6.1}}
\citation{Luke2013MetaEA}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.2}Defining the Parameters}{262}{subsection.7.6.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.3}Statistics and Messages}{264}{subsection.7.6.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.4}Populations Versus Generations}{265}{subsection.7.6.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.5}Using Meta-Evolution with Distributed Evaluation}{265}{subsection.7.6.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.6}Customization}{267}{subsection.7.6.6}}
\@writefile{toc}{\contentsline {section}{\numberline {7.7}Resets (The \textsf  {ec.evolve} Package)}{268}{section.7.7}}
\bibstyle{plain}
\bibdata{manual}
\bibcite{chellapilla:1998:piempwsx}{1}
\bibcite{nsga2}{2}
\bibcite{koza:book}{3}
\bibcite{koza:gp2}{4}
\bibcite{langdon:1999:fairxo}{5}
\bibcite{luke:genetic1998}{6}
\bibcite{Luke2009Metaheuristics}{7}
\bibcite{luke.cioffi-revilla.ea:mason}{8}
\bibcite{Luke1:2001:GECCO}{9}
\bibcite{Luke:2006:EC}{10}
\bibcite{Luke2013MetaEA}{11}
\bibcite{mersennetwister}{12}
\bibcite{OReilly:thesis}{13}
\bibcite{Panait02acomparison}{14}
\bibcite{poli03simple}{15}
\bibcite{poli08:fieldguide}{16}
\bibcite{differentialevolution}{17}
\bibcite{lilgp}{18}
\bibcite{grammaticalevolution}{19}
\bibcite{adm}{20}
\bibcite{push3}{21}
\bibcite{push}{22}
\bibcite{nsga}{23}
\bibcite{opportunistic}{24}
\bibcite{Tisue04netlogo:a}{25}
\bibcite{spea2}{26}
